package org.example.tialsproject.utils;

import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

import java.util.Date;
import java.util.Map;

public class JwtUtils {
    static String signKey = "TaoPinQi";
    static Long expice = 43200000L;

    /*生成JWT*/

    public static String renderJwt(Map<String, Object> claims) {
        claims.put("userName", "TaoPinQi");
        claims.put("id", 1);
        // 设置签名算法以及自定义内容(载荷)以及令牌有效期，返回一个字符串的jwt
        String jwt = Jwts.builder().signWith(SignatureAlgorithm.HS256, signKey).setClaims(claims).setExpiration(new Date(System.currentTimeMillis() + expice)).compact();
        return jwt;

    }

    /*解析JWT*/
    public static Claims parseJwt(String jwt) {
        Claims claims = Jwts.parser().setSigningKey(signKey).parseClaimsJws(jwt).getBody();
        return claims;
    }
}
